Digital signal processing (DSP) is a technical field concerned with the representation of continuous analog signals by a sequence of discrete numbers or symbols and the processing of such discrete sequences. DSP algorithms may be performed by standard computers, computing devices or microprocessors, by specialized processors called digital signal processors (DSPs), or on specialized hardware such as application-specific integrated circuit (ASICs). In addition, digital signal processing may be performed on more powerful general purpose microprocessors, field-programmable gate arrays (FPGAs), digital signal controllers (mostly for industrial application such as motor control), and stream processors, among others.
Oftentimes, a DSP system incorporates one or more digital filters. A digital filter is a system that performs mathematical operations on a sampled, discrete time signal (e.g. sequence of digital samples) to reduce or enhance certain aspects of that signal. For example, a high pass digital filter may be used to suppress or reduce low frequency components of a signal and enhance or amplify high frequency components. Conversely, a low pass digital filter may be used to suppress or reduce high frequency components of a signal and enhance or amplify low frequency components. A further example may be a notch digital filter that suppresses or reduces a specific frequency component or a small range of frequency components of a digital signal. An application for such a notch filter may be reducing the 60 Hz frequency component that is introduced as noise due to electrical power lines.